|
A Hartmann pipeline is an extension of the Unix pipeline concept, providing for more complex paths, multiple input/output streams, and other features. It is an example and extension of Pipeline programming. A Hartmann pipe is a non-procedural representation of a solution of a data processing problem as a dataflow. The error-prone step of translating the dataflow to a traditional procedural programming language is eliminated. Hartmann pipelines may thus be considered as an executable specification language. The concept was developed by John Poul Hartmann (born 1946), a Danish engineer with IBM. It is available as a software product CMS/TSO Pipelines for a number of IBM platforms. A somewhat backlevel version is included with every level of VM/ESA and z/VM. ==Overview== A pipeline consists of a collection of ''stages'', joined together by ''stage separators''. Stages can be written in a variety of languages, and are either ''filters'' that process data records or ''device drivers'' (sources and sinks) that read data into or out of the pipeline. Unlike other implementations of pipeline programming, Hartmann's design allows multiple streams in and out of each stage and can interconnect them non-sequentially. Unlike many programming languages, pipelines have a very small amount of notation, limited to ''stage separators'' (typically " | "), ''pipeline separators'' (typically "; " or "? "), and ''label separators'' (": "). Due to common usage, the diskread stage is also known as < and diskwrite as > ; however, all stages have names that are words in or make some sense in English.A simple example that reads a disk file, separates records containing the string "Hello" from those that do not, and writes both sets of records to different disk files can be written as: (end ;) < input.txt | A: locate /Hello/ | > found.txt ; A: | > notfound.txt where the < stage reads the input disk file, the two > stages write the output disk files, and the locate stage separates the input stream into two output streams. locate 's primary output (records containing Hello) is passed to the first > stage, and its secondary output (records not containing Hello) is passed through the A: connector to the second > stage. The ; divides the specification into 2 pipelines. The collection of pipelines is called a ''pipeline set''.抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Hartmann pipeline」の詳細全文を読む スポンサード リンク
|